/*
 * 작성일 : 2014. 10. 30.
 * 작성자 : hch1982
 *
 * 설명
*/ 
/**
 * 
 */
package springbook.user.dao;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author hch1982
 *
 * 코드 수정 히스토리
 * 날짜		작업자		태그
 * 2014. 10. 30.	hch1982	
 */
/*
 * a. 제어의 역전
 * UserDao에서 결정하던 ConnectionMaker를 DaoFactory가 대신 수행
 * UserDao 수동적 클래스로..
 * 
 * b. Spring IoC
 */
@Configuration
public class DaoFactory {
	@Bean
	public UserDao userDao(){
		return new UserDao(connectionMaker());
	}
	/*
	 * Dao가 늘어남에 따라서 new DConnectionMaker(); 가 중복되서 이어지므로
	 * 관심사 분리.. => 공통 메서드 생성
	 * 
	 */
	@Bean
	public ConnectionMaker connectionMaker(){
		return new DConnectionMaker();
	}
}
